Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2021-ICML-[EGNN]E(n) Equivariant Graph Neural Networks

https://arxiv.org/abs/2102.09844

Introduction

データに対して、対称性を利用して(CNNによって画像が回転してもetcでとらえられるように、GNNでグラフの点を入れる順番が前後しても同じもの扱いされるように)

多くの問題では、データが3次元空間での平行移動や回転に対して対称性を持つ(分子構造や化学特性予測、物理シミュレーション、3D点群データの認識)

これらはユークリッド群E(3)E(3)の上であるといえる。

この等価性を保つには、CNNなどの手法があるがそれだけでは不十分。先行研究では中間表現に対してメスを入れてたが、その中間表現を計算するのに計算コストが高い。

この研究では、E(n)E(n)ユークリッド群にまで拡張した新しいアーキテクチャを提案した。

Background

同変性(Equivariance)

  • ある抽象群gGg \in Gについて考える。同変性を持つ関数ϕ:XY\phi : X \to Yとは以下のようなもの。
    • 入力空間XXについての変換Tg:XXT_g : X \to Xと、出力空間YYについて、変換Sg:YYS_g : Y \to Yが存在する。
    • 以下のように、TgT_gしてからϕ\phiXYX \to Yするのと、ϕ\phiした結果YYになったのをSgS_gでまた変換しても、同じ値となる。
    ϕ(Tg(x))=Sg(ϕ(x))\phi(T_g(x)) = S_g(\phi(x))
    • 具体例として、平行移動同変性がある。ggだけ入力を平行移動させると、ggだけ出力を平行移動させないといけないという条件を、ϕ\phiは満たさないといけない。
    Tg(x)=x+gSg(x)=y+gT_g(x) = x + g \\ S_g(x) = y + g
  • 機械学習でよく考えられる、同変性には3つある。
    • 平行移動同変性。平行移動させても同じ。
    x+g=(x1+g,,xn+g),y+g=ϕ(x+g)x + g = (x_1 + g, \cdots, x_n + g) , y + g = \phi(x + g)
    • 回転同変性。QQという直交行列で回転を実現。回転させても同じ。
    Qx=(Qx1,,QxM),Qy=ϕ(Qx)Qx = (Qx_1, \cdots, Q x_M), Qy = \phi(Qx)
    • 順列同変性。順列を変えても同じ。入力についての順列P(x)P(x)について。
    P(y)=ϕ(P(x))P(y) = \phi(P(x))

Graph Neural Network

GNNは順列同変性を持つ、グラフについてのDNNである。

Image in a image block

このように、隣接した頂点と、その辺にある情報を受け取りmi,jm_{i,j}、それを集計することでmim_iとなり、最終的に次の自分の頂点の要素hil+1h_i^{l+1}は今の要素hilh_i^lと周辺の情報mim_iによって作られる。ϕe,ϕh\phi_e, \phi_hは一般的にMLPで実現。

同変性を持つGNN

Equivariant Graph Neural Network(EGNN)

入力として、以下のものを受け取る。

  • hl={h0l,,hM1l}\mathbf{h}^l = \{ \mathbf{h}_0^l, \cdots, \mathbf{h}_{M-1}^l \}は各ノードの埋め込みベクトル。
  • xl={x0l,,xM1l}\mathbf{x}^l = \{ \mathbf{x}_0^l, \cdots, \mathbf{x}_{M-1}^l \}は各ノードの座標埋め込みベクトル。
  • E\Epsilon はグラフの辺の情報。辺は引き続き重みもある。
Image in a image block
  • 辺の埋め込みに加えて、2つの座標埋め込みxi,xj\mathbf{x}_i, \mathbf{x}_jでユークリッド距離を計算し、それを辺の埋め込みの代わりにする。(つまりϕe\phi_eの入力は増える)
  • 周辺ノードからの情報の集約、自分自身の更新はそのまま。
  • 座標の更新は、新たなMLPのϕx\phi_xを用いて、そこには辺ijijの更新情報埋め込みmij\mathbf{m}_{ij}を入れる。そして、今の点ijijの間の座標埋め込みの差を乗じて、最後に合算する。
    • これが毎回の更新の差分。

同変性の分析

GNN自身は順序同変性があるので、平行移動や回転の同変性を持つ必要がある。

Image in a image block

直感的には、

  • mi,j\mathbf{m}_{i,j}は距離の二乗距離がある。これは、平行移動と回転に対して不変であるので、mi,j\mathbf{m}_{i,j}も不変性を保持する。
  • xil+1\mathbf{x}_i^{l+1}の更新について、差分の更新も平行移動と回転について不変である。

ベクトル型の表現への拡張

速度の漸化式も、距離埋め込みのような計算と同じ式で応用できるらしい。

Image in a image block

辺の推論

辺の連結情報がないと完全グラフと仮定するしかないが、大規模の点群では数が多すぎる。

その時、近隣ノードの集合N(i)N(i)を定義してそこだけで辺を張る。

それか、辺を推定する。